// axios
import axios from 'axios'
// 引入store
import store from '@/store'
// 两种基础地址的写法 第二种这样写的好处可以写多条路径进行切换
// 使用JSONbig对转换数据的操作进行修改
import bigint from 'json-bigint'
// 通过该配置，让超大数字转为字符串
const JSONBig = bigint({"storeAsString": true}) 
const request=axios.create({
    // headers:{'Content-Type': 'application/x-www-form-urlencoded'},
    baseURL: 'http://toutiao-app.itheima.net/',
    // transformResponse 允许自定义原始的响应数据（字符串）
    transformResponse:[function(data){
        try{
            return JSONBig.parse(data);
        }catch(err){
            return data
        }
    }]

})
// 使用拦截器处理请求头
request.interceptors.request.use(function(config) {
    const {user} =store.state
    if (user && user.token) {
        config.headers.Authorization =`Bearer ${user.token}`
    }
    return config
},function(error){
    return promise.reject(error)
})
export default request